Mario - CS50x 2023
实现一个程序,按照以下方式打印出指定高度的半金字塔。
$ python mario.py
Height: 4
#
##
###
####
开始
登录 cs50.dev,点击您的终端窗口,然后单独执行 cd
。您应该发现您的终端窗口的提示符类似于以下内容:
接下来执行
wget https://cdn.cs50.net/2022/fall/psets/6/sentimental-mario-less.zip
以便将 sentimental-mario-less.zip
下载到您的代码空间。
然后执行
unzip sentimental-mario-less.zip
以创建一个名为 sentimental-mario-less
的文件夹。您不再需要该 ZIP 文件,因此您可以执行
rm sentimental-mario-less.zip
并在提示符下回复“y”后按 Enter 键,以删除您下载的 ZIP 文件。
现在输入
cd sentimental-mario-less
然后按 Enter 键,进入该目录。您的提示符现在应类似于以下内容。
sentimental-mario-less/ $
单独执行 ls
,您应该会看到一个 mario.py
。如果您遇到任何问题,请再次按照相同的步骤操作,看看您是否可以确定出错的地方!
规范
- 在一个名为
mario.py
的文件中编写一个程序,该程序使用井号 (#
) 作为块来重新创建半金字塔,就像您在问题集 1中所做的那样,不同之处在于这次您的程序应该用 Python 编写。 - 为了使事情更有趣,首先使用
get_int
提示用户输入半金字塔的高度,这是一个介于1
和8
之间的正整数,包括1
和8
。 - 如果用户未能提供不大于
8
的正整数,您应该重新提示用户输入。 - 然后,生成(在
print
和一个或多个循环的帮助下)所需的半金字塔。 - 注意让半金字塔的左下角与终端窗口的左边缘对齐。
用法
您的程序应该像下面的例子一样运行。
$ python mario.py
Height: 4
#
##
###
####
测试
虽然可以使用 check50
检查此问题,但我们建议您首先自行测试以下各项。
运行
python mario.py
,等待输入提示。输入-1
并按回车。程序应拒绝无效输入,并重新提示输入。运行
python mario.py
,等待输入提示。输入0
并按回车。程序应拒绝无效输入,并重新提示输入。运行
python mario.py
,等待输入提示。输入1
并按回车。程序应生成以下输出。确保金字塔左对齐,且每行末尾无多余空格。运行
python mario.py
,等待输入提示。输入2
并按回车。程序应生成以下输出。确保金字塔左对齐,且每行末尾无多余空格。运行
python mario.py
,等待输入提示。输入8
并按回车。程序应生成以下输出。确保金字塔左对齐,且每行末尾无多余空格。
#
##
###
####
#####
######
#######
########
运行
python mario.py
,等待输入提示。输入9
并按回车。程序应拒绝无效输入,并重新提示输入。然后,输入2
并按回车。程序应生成以下输出。确保金字塔左对齐,且每行末尾无多余空格。运行
python mario.py
,等待输入提示。输入foo
并按回车。程序应拒绝无效输入,并重新提示输入。运行
python mario.py
,等待输入提示。不输入任何内容,直接按回车。程序应拒绝无效输入,并重新提示输入。
执行以下命令,使用 check50
检查代码的正确性。但请务必自己编译并测试!
check50 cs50/problems/2023/x/sentimental/mario/less
执行以下命令,使用 style50
检查代码风格。
如何提交
在你的终端中,执行以下命令来提交你的工作。
submit50 cs50/problems/2023/x/sentimental/mario/less